1. Field of the Invention
The present invention relates to an apparatus for a beacon-enabled wireless network, a transmission time determination method, and a tangible machine-readable medium thereof. More particular, the present invention relates to an apparatus for reducing the delay of the transmission time in a beacon-enabled wireless network, a transmission time determination method, and a tangible machine-readable medium thereof.
2. Descriptions of the Related Art
For many wireless network applications, apparatuses on wireless networks usually have to transmit data (e.g., sensing data and data packets) generated in the application layer amongst each other. However, in some special network applications such as monitoring and security applications, apparatuses are not required to transmit data at all time. Instead, these apparatuses may go into a hibernation mode to conserve power. A beacon-based wireless network may satisfy such a requirement. Currently, the most clearly defined specification for the operation architecture of beacon-enabled wireless networks is the IEEE802.15.4b standard. The wireless networks can be star-like structures, peer-to-peer structures or spanning tree structures.
Network devices conforming to the IEEE 802.15.4b standard may be divided into two categories: the full-function device (FFD) and the reduced-function device (RFD). The FFDs have the functions of a Personal Area Network coordinator (PAN coordinator, serving as a main node), a coordinator (serving as a relay node), and an RFD (serving as a terminal point). The FFDs can perform data transmission with FFDs and RFDs. In contrast, the RFDs are very simple network devices, which can only perform data transmission with FFDs. In other words, RFDs can only be used in combination with a single coordinator and are not able to participate in mass data transmission. Furthermore, the need for system sources is relatively low.
FIG. 1 illustrates a beacon-enabled wireless network 1 of a spanning tree based on the IEEE 802.15.4b standard. The circles in FIG. 1 represent various nodes (i.e., the aforementioned coordinators serving as either a main node or relay nodes) in the wireless network 1. There is one main node 10 in the wireless network 1, which serves as a root node and may be connected to a number of relay nodes 110˜114 as its child nodes. The relay nodes may in turn be connected to a number of relay nodes as their child nodes. For example, the relay node 111 is connected to relay nodes 115, 116. Any two nodes connected by a solid line in FIG. 1 have a parent-child relationship. Furthermore, each of the nodes in the FIG. 1 may also perform data transmission with other terminal points (i.e. RFDs, not shown).
In the IEEE 802.15.4b standard, the FFDs play the role of the main node/relay nodes utilizing the superframe structure, according to which the time interval defined by two successive beacon packets transmitted by the same node (i.e. the main node or the relay nodes) is known as a beacon interval (BI). The purpose of beacon packet transmissions is to synchronize the individual nodes within a coverage area, where these nodes allocate the transmission time using a technology similar to the time division multiple access.
The main node 10 of the wireless network 1 sends a beacon packet to announce the superframe format. The time during the superframe is divided into a plurality of time slots, one of which is occupied by the main node to receive or to transmit data from or to other nodes in the wireless network 1, while the remainders of which are available for use by other nodes. The relay nodes also announce the time slots they are occupying by sending a beacon packet.
FIG. 2 depicts the schematic diagram of a superframe structure, wherein the beacon packets 21a, 21b are the beacon packets sent by the relay node 111, and the time interval defined between them is known as the beacon interval 23. In the beacon interval 23, an incoming superframe 24a is defined for data transmission with its parent node. Upon receiving the beacon packet 21a from the relay node 111, the relay node 116 may transmit data to or receive data from the relay node 111 in a time slot that the relay node 111 occupied in the incoming superframe 24a. On the other hand, the relay node 116 may define an outgoing superframe 24b in the beacon interval 23, which is used for data transmission with its child nodes. The relay node 116 may send another beacon packet 22 in such an outgoing superframe to inform other nodes, and terminal points (not shown) connected with the relay node 116 may perform data transmission with the relay node 116 in the outgoing superframe 24b. 
The nodes in the wireless network 1 can not arbitrarily select time slots to transmit beacons. Instead, when the relay node 116 intends to transmit data to the main node 10, it has to wait for a beacon packet from its parent node (i.e., the relay node 111). If another relay node 115 neighbors on the relay node 116 and selects the same time slot with the relay node 111, the two nodes 111 and 115 would send beacon packets simultaneously. This leads to a collision of the beacon packets at the relay node 116. Consequently, the relay node 116 would then fail to receive a beacon packet from the relay node 111, making it impossible for the relay node 116 to transmit data to the relay node 111. If many collisions occurred in the network, the wireless network 1 operations would crash completely. In order to avoid such collisions, any two nodes connected by a dashed line in FIG. 1 cannot have the same time slot.
In addition to the beacon packet collisions, the transmission delay is an important factor when the beacon packet transmissions are scheduled. FIG. 3A depicts an example of a beacon scheduling scheme in the case of a data upload, where the horizontal axis represents time. This beacon scheduling scheme represents a schedule for the main node 10 and the relay nodes 111, 115, 116, in the wireless network 1. The data flows from the relay nodes 111, 115, 116 to the main node 10. In FIG. 3A, the transmissions indicated by arrows 31, 32, 33, 34 respectively represent beacon transmissions scheduled for the relay nodes 116, 115, 111, and the main node 10. The relay node 116 occupies time slots 311, 312, the relay node 115 occupies time slots 321, 322. Similarly, the relay node 111 occupies time slots 331, 332, and the main node 10 occupies a time slot 341.
The beacon transmissions in FIG. 3A are scheduled in the following order: the relay node 116, the relay node 115, the relay node 111 and the main node 10. Therefore, the time slot 311 is firstly scheduled for the relay node 116, followed by the time slot 321 scheduled for the relay node 115, the time slot 331 scheduled for the relay node 111, the time slot 341 scheduled for the main node 10, the time slot 312 scheduled for the relay node 116, and so on.
The main node 10 and the relay nodes 111, 115, 116 are configured to send a beacon packet at the beginning of the time slot they occupy to inform other nodes to perform data transmission. Specifically, a beacon 31a is first sent by the relay node 116 in the time slot 311, so that a connected terminal point (not shown) may perform data transmission with the relay node 116, as shown by the dashed arrow 31c. Subsequently, a beacon 32a is sent by the relay node 115 in the time slot 321, so that a connected terminal point (not shown) may perform data transmission with the relay node 115, as shown by the dashed arrow 32c. Then, a beacon 33a is sent by the relay node 111 in the time slot 331, so that a connected terminal point (not shown) may perform data transmission with the relay node 111, as shown by the dashed arrow 33c. At this point, the relay nodes 115, 116 also perform data transmission with the relay node 111 respectively, as shown by the dashed arrows 31d, 32d. Thereafter, a beacon 34a is sent by the main node 10 in the time slot 341, so that a connected terminal point (not shown) may perform data transmission with the main node 10, as shown by the dashed arrow 34c. At this point, the relay node 111 also performs data transmission with the main node 111, as shown by the dashed arrow 33d. 
According to the structure of FIG. 1 and the scheduling scheme of FIG. 3A, when the node 115 intends to transmit data to the main node 10, two hops have to be performed in slots 321 and 331. Assuming that one superframe lasts 5 minutes and has 100 time slots, so each time slot lasts 3 seconds. Thus, the node 116 needs 6 seconds (3 sec×2 hops=6 sec) to reach a destination. FIG. 3A depicts the optimum scheduling scheme in the case of data upload.
FIG. 3B depicts another beacon scheduling scheme, which is the same as that in FIG. 3A except that the data transmission in FIG. 3B relates to a data download case, i.e., data is to be transmitted from the main node 10 to the respective terminal points of the relay nodes 115, 116. The main node 10 needs to transmit data 33f in its time slot 341 to the relay node 111. Then, the data has to wait until the next slot 332 of the relay node 111 before the data 32f, 31f can be transmitted to the relay nodes 115, 116. The wait time lasts approximately the duration between the dashed lines 35a and 35b, i.e., approximately the duration of one superframe. Similarly, the relay node 115, 116 have to wait until the next time slot before the data is transmitted to their respective terminal points (not shown). Hence, with this scheduling scheme, the download data transmission requires a time of about 10 min (5 min×2 hops) to reach its destination.
According to FIGS. 3A and 3B, the scheduling scheme of the prior art has an optimum effect for data upload, but has a poor effect for data download. In view of this, it is important to provide a better beacon scheduling approach for various nodes in a beacon-enabled wireless network to avoid transmission collisions and long transmission delay times. The overall transmission performance of the beacon-enabled wireless network would thereby be improved.